#ifndef BOOKING_H
#define	BOOKING_H

#include "DataStore.h"
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>

class tBooking;

class BookingClass {
    friend class tBooking;
public:
    BookingClass();
    BookingClass(DataStore*);
    virtual ~BookingClass();
    void link(DataStore*);

    // Performs Client's menu options
    void makeBooking(int);
    void editAndCancelBooking(int);

    // Performs Booking Staff's menu options
    void checkNewEditedBookings();

    // Performs Holiday Manager's menu options
    void checkCheckedBookings(int);

    // Performs Finance Office's menu options
    void checkApprovedBookings();
    void checkCancelledBookings();
private:
    void listNewEditedBookings();
    void listCheckedBookings(int);
    void listApprovedBookings();
    void listCancelledBookings();

    void listPackages();
    void printBookingList(deque<bookStruct>);
    DataStore* ds;
};

#endif	/* BOOKING_H */

